Adobe Type Manager (ATM) to print with a non-PostScript printer
Textures is Blue Sky Research’s implementation of Donald Knuth’s TeX typesetting program. TeX is an amazingly powerful markup language that is available on more than a dozen platforms. Textures, however, is Mac-only; it’s also the best implementation of TeX I’ve seen anywhere. For more information on TeX, I recommend reading <http://www.bluesky.com/dsTeX.html> and my opinion piece “WYSIWYG: Is it What You Want?” in this month’s issue of ATPM. To get a sense of the other Mac implementations of TeX, I recommend the Mac TeX/LaTeX Software Page <http://www.esm.psu.edu/mac-tex/>.
Textures is completely compatible with TeX 3.14159 (currently the latest version). It also includes LaTeX2e, the latest version of the LaTeX collection of macros and formats. Although Textures is fully compatible with TeX/LaTeX implementations for other platforms, it has little in common with them. That’s a good thing.
Because of its Unix heritage, most implementations of TeX rely on lots of separate programs (and consequently may be difficult to install). Generally, one creates and edits the TeX code in a text editor, then saves it as a “.tex” file. The text is then run through the tex (or latex) program. This creates a DVI (Device Independent) file somewhat akin to a PDF file (although it predates PDF). One can then preview the DVI file on-screen using a DVI viewer (loosely akin to Adobe Acrobat Reader in the Mac world). If the output looks good, it can be converted to a PostScript file using the dvi2ps utility, then printed on a PostScript printer. If corrections need to be made, the .tex file must be edited, run through tex again, and the result previewed with the DVI viewer. Thus, for inexperienced TeX users, it is an incredibly painful process; for experienced TeXers, it is a nuisance.
Textures greatly simplifies this process by integrating most of the important TeX utilities into a single application. (Utilities for dealing with font metrics, bibliographies, and indices are separate applications.) Textures has an integrated text editor and previewer. The Typeset command renders the frontmost window and displays the preview in the Typeset window (bypassing the DVI step, although you can manually save as a DVI file if you want). If there are errors in the input, Textures displays them in a separate log window. Unfortunately, the errors aren’t significantly easier to deal with than in other TeX implementations. It would be nice if one could double-click on an error to go directly to that spot in the input, as with BBEdit and CodeWarrior. Presently, the errors are referenced only by line number.
 
The Typset (Preview) Window
Textures includes the freeware Excalibur, a LaTeX-savvy spelling checker; however it is not integrated with Textures. Printing is as simple as typesetting and choosing Print from the File menu. If Adobe Type Manager (ATM) is installed, you can even print to QuickDraw printers and other neat Chooser extensions like Myrmidon and FaxSTF.
Flash Mode, Follow Focus, and Synchronicity
The above description portrays Textures as simply an integrated TeX environment. In fact, Textures offers three very important features that make it (according to Blue Sky) the only interactive TeX environment in the world.
Instead of requiring you to use the Typeset command every time you want to see a preview, Textures’ Flash Mode updates the preview window automatically as you type. The delay between making a change and seeing it in the preview window depends on the length and complexity of your document as well as on the speed of your Macintosh. On slower Macs it could take fifteen to thirty seconds to see the change; on a G3-powered Mac, the delay is only a few seconds for longer documents and almost non-existent for short documents (though it still feels much slower than editing in place in a WYSIWYG program). Another advantage of Flash Mode is that it prevents your document from accumulating a lot of syntax errors that might take a long time to deal with later. A traffic light indicator in the upper right corner of the editor windows turns red if your document contains an error. By keeping an eye on the light, you can quickly notice and correct mistakes as you make them—rather than having to find them by line number from the Textures log.
 
The Textures Editor with Flash Mode Enabled
The Follow Focus option causes Textures to automatically scroll the preview window to keep up with the part of the source file you are editing. Synchronicity is perhaps Textures’ coolest feature. It lets you command-click in the preview window to move the insertion point to the corresponding place in the source file—and vice-versa. This is great for when you reach the proofing stage and need to quickly jump back and forth between the source and preview windows. Seeing Synchronicity in action immediately made me wish I could make simple editing changes directly in the preview window; alas this is not possible in Textures (though I cannot really fault Blue Sky here).
To see animations demonstrating Flash Mode, Follow Focus, and Synchronicity, go to:
<http://www.textures.com/Anims/>
In general, LaTeX support is quite good. Textures includes the LaTeX sources in both compiled and raw forms (for former for speed, the latter in case you want to edit them). Normally, LaTeX documents must be typeset twice to properly create cross references and tables of contents. Textures offers a special LaTeX mode that does this transparently.
Textures Reader
Textures displays typeset previews and DVI files in the Textures Reader, which is built into the main Textures application. Blue Sky also has a freeware version of the reader available on its Website, which is handy for sharing DVI files with other Mac users. The interface to the reader is similar to Adobe Acrobat Reader. You can easily change between pages and zoom in and out. You can optionally view facing pages, and can choose whether or not the text is anti-aliased (nice-looking, but very slow). Clicking in the reader window magnifies a square around the pointer. You can also command-click on URLs to open them with the appropriate Internet Config-specified application. Option-clicking lets you measure distances between objects. Command-Option clicking lets you scroll horizontally and vertically with the hand tool (very useful when at high magnifications). Although the reader feels slow (compared to Acrobat, for instance) and the scrolling behavior is a bit odd, it is the best I have seen for the Mac.
 
The Preview Window Supports Anti-Aliasing—But It’s Slow
Macintosh Integration
Textures does its best to take advantage of Macintosh features that aren’t necessarily available on other platforms. Textures includes PostScript versions of Knuth’s complete set of Computer Modern fonts, as well as the American Mathematical Society’s AMS TeX fonts. It’s also easy to include standard Macintosh TrueType and PostScript fonts in your Textures documents. Macintosh users won’t see what’s so special about this, but people who have used other implementations of TeX will be surprised and pleased to learn that they don’t have to manually create font metrics to use new fonts.
Textures supports the standard the standard TeX and LaTeX commands for including graphics (usually in the form of PostScript or EPS files) into documents. It also allows you to include files in Macintosh PICT format (although if you do this, non-Macintosh users will be unable to typeset your files). The Textures Pictures window works sort of like the Macintosh scrapbook, allowing you to collect and view all the graphics for a particular document. It also shows the dimensions of the pictures (in inches, mm, or picas), which are necessary for some TeX commands.
 
Unfortunately, since Textures does not include a PostScript rasterer, PostScript files included in your documents will only show up when printed. (EPS files will show their PICT previews in the Typeset window.)
Shortcomings
The Textures editor is adequate but little more. You can change its font, jump to specific lines, set marks, and do basic find and replaces (however the commands are called Find, Find Same, and Change; instead of the usual Find, Find Again, and Replace). The usual cut, copy, and paste are supported, but there is only one level of undo. There are commands for block indenting and block commenting, but they are not particularly well-implemented and have odd keyboard shortcuts.
There is also a “macro” menu which is user-configurable. The “macro” menu isn’t really for macros in the usual sense; instead it offers a way of inserting boilerplate text. The benefits of this are questionable, though, since using it requires a lot of mouse work when your hands are likely already poised for typing. I prefer the FasTeX set of TypeIt4Me entries available at <http://cds.caltech.edu/~fastex>.
If you’re serious about TeX (and you probably will be if you decide to pay Textures’ high price) you’ll much prefer an external editor like Alpha or BBEdit. Both offer syntax highlighting for TeX/LaTeX. Alpha’s huge array of menus and toolbars for inserting LaTeX commands and BBEdit’s glossary are vastly superior to LaTeX’s “macro” menu. BBEdit’s function popup lets you easily navigate LaTeX documents, which is reason enough to use it. Overall, both simply are much more polished editors than Textures. Luckily, Alpha and BBEdit can both act as external editors (via Apple Events) for Textures. However, if you go this route, you no longer have access to Textures’ great interactive features. Probably the best compromise is to use Alpha or BBEdit to compose your document and the Textures editor with Flash Mode and Synchronize to edit and tweak it. Still, I think Textures really should provide at least minimal support for syntax highlighting and automatic marking/navigation for LaTeX documents.
Finally, the Textures interface feels rough. Many of the dialogs have odd button sizes and placements. Particularly annoying is that the “Save Changes?” dialog does not support command-D for the “Don’t Save.” This may seem like only a detail, but I use that shortcut at least a dozen times a day.
Conclusion
Installation is easy and the program is fast, reliable, and easy-to-use. The manual is excellent, as is Blue Sky’s online tech support—which is what you would expect, given the program’s high price. As a nice touch, Blue Sky provides a wealth of TeX-related resources (mostly from CTAN) on the Textures CD; I found this very useful while editing TeX on my PowerBook, away from an Internet connection.
Mac users will find Textures needlessly complicated compared to their word processor. Experienced TeX users will find it immeasurably more pleasing than the TeX implementation they are used to. Overall, Textures receives a rating of Very Nice (4 out of 5) because of the rough interface and lackluster editor. The core of the product, however, is top-notch and the Flash Mode and Synchronicity features are revolutionary. What sweet irony that the best implementation of TeX runs not on Unix but on Macintosh.